<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Classe FTP : Guia do Usuário</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="all" />
<meta name="author" content="ExpressionEngine Dev Team" />
<meta name="description" content="Guia do Usuário do CodeIgniter" />
</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>

<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();">
<img border="0" width="153" height="44" alt="Acesso à lista de conteúdos" title="Mostre/Esconda a lista de conteúdos" src="../images/nav_toggle_darker.jpg">
</a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Code Igniter User Guide Version 2.0.0 </h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Conteúdo</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>

<td id="breadcrumb">
<a href="http://www.codeigniter.com/">Home do Code Igniter</a> › <a href="index.html">Home do Guia do Usuário</a> › Classe FTP
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.codeigniter.com.br/manual/" />Busca&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="ok" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Classe FTP</h1>

<p>Esta classe permite que arquivos sejam transferidos para um servidor remoto. Estes arquivos remotos, podem também ser movidos, renomeados e apagados. 
A classe FTP ainda inclui uma função de "espelhamento", que permite que um diretório local seja 100% recriado, remotamente, via FTP.</p>

<p class="important"><strong>Nota:</strong>&nbsp; Os protocolos SFTP e SSL FTP <strong>não</strong> são suportados, apenas o FTP padrão.</p>

<h2>Inicializando a Classe</h2>

<p>Como a maioria das classes no Code Igniter, a classe FTP é inicializada em seu controller usando a função <dfn>$this->load->library</dfn>:</p>

<code>$this->load->library('ftp');</code>
<p>Uma vez carregada, o objeto estará disponível usando: <dfn>$this->ftp</dfn></p>


<h2>Exemplos de Uso</h2>

<p>Neste exemplo, uma conexão é aberta com o servidor FTP e um arquivo local é lido e enviado em modo ASCII. As permissões de arquivo são configuradas 
em 755. Nota: Esta configuração de permissões requer o PHP 5.</p>

<code>
$this->load->library('ftp');<br />
<br />
$config['hostname'] = 'ftp.seu-site.com';<br />
$config['username'] = 'seu-usuario';<br />
$config['password'] = 'sua-senha';<br />
$config['debug'] 	= TRUE;<br />
<br />

$this->ftp->connect($config);<br />
<br />
$this->ftp->upload('/local/path/to/meuarquivo.html', '/public_html/meuarquivo.html', 'ascii', 0775);<br />
<br />
$this->ftp->close();

</code>


<p>Neste exemplo, uma lista de arquivos é buscada no servidor.</p>

<code>
$this->load->library('ftp');<br />
<br />

$config['hostname'] = 'ftp.seu-site.com';<br />
$config['username'] = 'seu-usuario';<br />
$config['password'] = 'sua-senha';<br />
$config['debug'] 	= TRUE;<br />
<br />
$this->ftp->connect($config);<br />
<br />
$list = $this->ftp->list_files('/public_html/');<br />
<br />
print_r($list);<br />

<br />
$this->ftp->close();
</code>

<p>Neste exemplo, um diretório local é espelhado no servidor.</p>


<code>
$this->load->library('ftp');<br />
<br />
$config['hostname'] = 'ftp.seu-site.com';<br />
$config['username'] = 'seu-usuario';<br />
$config['password'] = 'sua-senha';<br />

$config['debug'] 	= TRUE;<br />
<br />
$this->ftp->connect($config);<br />
<br />
$this->ftp->mirror('/path/to/myfolder/', '/public_html/meudiretorio/');<br />
<br />
$this->ftp->close();
</code>


<h1>Referência da Função</h1>

<h2>$this->ftp->connect()</h2>

<p>Conecte e logue-se em seu servidor FTP. As preferências de conexão são configuradas passando uma array para a função, ou então você pode armazená-las em um arquivo de configuração.</p>


<p>Aqui vai um exemplo monstrando como configurar suas preferências manualmente:</p>

<code>
$this->load->library('ftp');<br />
<br />
$config['hostname'] = 'ftp.seu-site.com';<br />
$config['username'] = 'seu-usuario';<br />
$config['password'] = 'sua-senha';<br />

$config['port']&nbsp;&nbsp;&nbsp;&nbsp; = 21;<br />
$config['passive']&nbsp;&nbsp;= FALSE;<br />
$config['debug']&nbsp;&nbsp;&nbsp;&nbsp;= TRUE;<br />
<br />
$this->ftp->connect($config);<br />
</code>

<h3>Configurando as preferências FTP em um arquivo</h3>

<p>Se preferir, você pode armazenar suas preferências de FTP num arquivo config. simplesmente, crie um novo arquivo chamado <var>ftp.php</var>, 
e adicionar a array <var>$config</var> neste arquivo. Salve-o em <var>config/ftp.php</var> e ele será usado automaticamente.</p>

<h3>Opções de conexão disponíveis:</h3>


<ul>

<li><strong>hostname</strong> - O FTP hostname.  Geralmente algo como:&nbsp; <dfn>ftp.algum-site.com</dfn></li>
<li><strong>username</strong> - O Usuário FTP.</li>
<li><strong>password</strong> - A senha FTP.</li>
<li><strong>port</strong> - O número da porta. É configurado como <dfn>21</dfn> por default.</li>

<li><strong>debug</strong> - <kbd>TRUE/FALSE</kbd> (boolean). Habilitar ou não o debugging para mostrar mensagens de erro.</li>
<li><strong>passive</strong> - <kbd>TRUE/FALSE</kbd> (boolean). Usar ou não o modo passivo.  Ele é TRUE por default.</li>
</ul>


<h2>$this->ftp->upload()</h2>

<p>Envia um arquivo ao seu servidor. Você deve fornecer o caminho local e o remoto, e também pode, opcionalmente, configurar o modo e permissões. 
Exemplo:</p>


<code>$this->ftp->upload('/local/caminho/para/meuarquivo.html', '/public_html/meuarquivo.html', 'ascii', 0775);</code>

<p><strong>As opções de modos são:</strong>&nbsp; <kbd>ascii</kbd>, <kbd>binário</kbd>, e <kbd>auto</kbd> (o default). Se

<kbd>auto</kbd> for usado, ele irá se basear na extensão do arquivo enviado.</p>

<p>As permissões estão disponíveis se você estiver rodando o PHP 5 e podem ser passadas como um valor <kbd>octal</kbd> no quarto parâmetro.</p>



<h2>$this->ftp->download()</h2>

<p>Faz o download dos arquivos do seu servidor.  Você deve fornecer o caminho remoto e o caminho local, e você pode, opcionalmente, definir o Modo.
Exemplo:</p>

<code>$this->ftp->download('/public_html/myfile.html', '/local/path/to/myfile.html', 'ascii');</code>

<p><strong>Outras opções de Modos são: </strong>&nbsp; <kbd>ascii</kbd>, <kbd>binary</kbd>, and <kbd>auto</kbd> (por padrão). Se
<kbd>auto</kbd> for usado ele irá se basear na extenção do arquivo para definir o Modo.</p>

<p>Retorna FALSE se o download não executar com êxito (incluindo se o PHP não tem permissão para gravar o arquivo local)</p>

<h2>$this->ftp->move()</h2>
<p>Lhe permite mover um arquivo. Forneça o caminho inicial e o final:</p>

<code>
// Moverá o blog.html de "joe" para "fred"<br />
$this->ftp->move('/public_html/joe/blog.html', '/public_html/fred/blog.html');
</code>

<p>Nota: se o nome do arquivo de destino for diferente do inicial, ele será renomeado.</p>


<h2>$this->ftp->delete_file()</h2>
<p>Lhe permite apagar um arquivo. Forneça o nome e caminho do arquivo a ser apagado.</p>

<code>
$this->ftp->delete_file('/public_html/joe/blog.html');
</code>


<h2>$this->ftp->delete_dir()</h2>
<p>Permite apagar um diretório e todo o seu conteúdo. Forneça o caminho para o diretório seguido de uma barra inclinada.</p>

<p class="important"><strong>Importante</strong>&nbsp; Tenha MUITO cuidado com esta função. 
Ela irá apagar recursivamente <strong>TUDO</strong> dentro do caminho fornecido, incluindo subdiretóris e todos os arquivos. Tenha certeza absoluta 
que seu caminho está correto. Experimente usar a função <kbd>list_files()</kbd> antes, para verificar se seu caminho está correto.</p>

<code>
$this->ftp->delete_dir('/public_html/caminho/para/diretorio/');
</code>


<h2>$this->ftp->list_files()</h2>
<p>Permite que você busque uma lista de arquivos no servidor e a retorne como uma <dfn>array</dfn>.  Você deve fornecer o caminho para o diretório desejado.</p>

<code>
$list = $this->ftp->list_files('/public_html/');<br />
<br />
print_r($list);
</code>


<h2>$this->ftp->mirror()</h2>

<p>Lê, recursivamente, um diretório local e tudo que ele contém (incluindo subdiretórios) e creia um espelhamento via FTP baseado nisto. 
Qualquer que seja estrutura de diretório, ela será recriada no servidor. Você deve fornecer o caminho inicial e o final:</p>

<code>
$this->ftp->mirror('/caminho/para/meudiretorio/', '/public_html/meudiretorio/');
</code>



<h2>$this->ftp->mkdir()</h2>

<p>Permite criar um diretório em seu servidor. Forneça o caminho final no diretório em quer deseja criar, seguido de uma barra invertida.
As permissões podem ser passadas via um valor <kbd>octal</kbd> no segundo parâmetro (se você estiver usando o PHP 5).</p>

<code>
// Cria um diretório chamado "buteco"<br />
$this->ftp->mkdir('/public_html/buteco/', 0777);
</code>


<h2>$this->ftp->chmod()</h2>

<p>Permite que você configure as permissões de arquivo. Forneça o caminho para o arquivo ou diretório:</p>

<code>
// Chmod "buteco" to 777<br />

$this->ftp->chmod('/public_html/buteco/', 0777);
</code>




<h2>$this->ftp->close();</h2>
<p>Fecha a conexão com o servidor. É recomendado que você use isto ao terminar de enviar os arquivos.</p>


</div>
<!-- END CONTENT -->

<div id="footer">
<p>
Tópico Anterior:&nbsp;&nbsp;<a href="form_validation.html">Classe Validação de Formulário</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Topo da Página</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">Guia de Usuário CodeIgniter</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Próximo Assunto:&nbsp;&nbsp;<a href="ftp.html">FTP Class</a>
</p>
<p><a href="http://codeigniter.com.br">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>


</html>
